Exposure control method for use with optical readers

ABSTRACT

An exposure control apparatus for use with optical readers, such as bar code readers, which utilize photosensitive image sensors. An illumination signal generating circuit generates an illumination signal having a magnitude that varies in accordance with the illumination level at the image sensor. A window detecting circuit samples the illumination signal during a predetermined part of each scan to determine whether the illumination signal is within the window, has exited the widow, or has re-entered the window. Exposure control circuitry uses the output of the window detecting circuit to control which of a plurality of the subdivisions of the exposure control range of the image sensor will be used. Changes in exposure time are made only between adjacent subdivisions of the exposure control range. Together with a predetermined hysteresis between the exit and re-entry thresholds of the window, the latter changes stabilize the operation of the reader by reducing exposure control “hunting”.

CROSS REFERENCES TO RELATED APPLICATIONS

[0001] The present application is a continuation of application Ser. No. 09/746,143 filed Dec. 21, 2000, which is a continuation of application Ser. No. 09/099,604 filed Dec. 15, 2000, which issued Jul. 3, 2001 as U.S. Pat. No. 6,254,003, which is a continuation (specifically a CPA) of application Ser. No. 09/099, 604 filed Jun. 18, 1998, which is a continuation-in-part of application Ser. No. 08/574,386, filed Dec. 18, 1995, which issued Nov. 3, 1998, as U.S. Pat. No. 5,831,254. Applicants claim the priority of each of the above applications and incorporate each of the above applications herein by reference.

BACKGROUND OF THE INVENTION

[0002] The present invention relates to optical reader devices, such as bar code readers, and is directed more particularly to an optical reader having improved exposure control means.

[0003] Optical readers, such as bar code readers, have become widely accepted and used in many fields because of their proven ability to read data from optically encoded indicia, such as bar code symbols. Such readers are not only able to read optically encoded data more quickly than human beings, they are able to read it more accurately and consistently.

[0004] In spite of their widespread use and acceptance, optical readers have limitations that can prevent them from being used under all of the conditions in which their use would be desirable. One of these limitations is that the photosensitive image sensing array thereof can be so underexposed under low light conditions that the output thereof is too dark to be readily decoded. Conversely, photosensitive image sensing array can be so overexposed under bright light conditions that the output thereof is too bright to be readily decoded. This is because, under both of these conditions, the output signal of the array provides a low contrast between the white and black elements of the indicia and because such low contrast results in poor signal-to-noise ratios.

[0005] Another of these limitations is that optical readers are often restricted to operation with a depth of field that is relatively shallow. In other words, optical readers may fail to produce a readily decodable output when the distance between the reader and its target indicia is too great. This is in part because large distances between the reader and the indicia decrease the total light intensity at the indicia and thereby tend to underexpose the readers photosensitive image sensing array. This limitation is particularly troublesome in the case of readers which rely on built-in light sources, such as LEDs, rather than on ambient light levels, to provide the illumination necessary for accurate reading.

[0006] Prior to the present invention, the above-discussed limitations have been dealt with in a variety of different ways. One of these is to provide the reader with automatic gain control (AGC) circuitry for increasing or decreasing the gain or loss applied to signals produced by the photosensitive array as necessary to cause those signals to have a predetermined standardized value. One example of a reader having such AGC circuitry is described in U.S. Pat. No. 4,528,444 (Hara, et al.).

[0007] Another approach to overcoming the above-discussed limitations is to provide the reader with exposure control circuitry for increasing or decreasing the time period during which the photosensitive sensing array is exposed. Because such arrays produce outputs that are dependent on the integral of the illuminating light intensity as a function of time, changes in the exposure time of the array can be used to increase or decrease the magnitude of the output signal as necessary to cause those signals to have predetermined standardized values. An example of a reader having exposure having exposure control circuitry of this type is described in U.S. Pat. No. No. 4,538,060 (Sakai, et al.).

[0008] Still other approaches to overcoming the above-discussed limitations include providing illumination control circuitry for controllably increasing and decreasing the amount of light which the reader directs at the indicia to be read, and distance indicating circuitry that produces a visual distance indication that allows a user to move the reader closer to or further from the target indicia. An example of a reader having circuitry of the former type is described in U.S. Pat. No. 4,818,847 (Hara, et al.).

[0009] While the above-described approaches to exposure control improve the performance of the readers with which they are used, they all have deficiencies which limit their usefulness or cause them to make inefficient use of reader circuitry or program space. A frequently encountered one of these deficiencies is that they operate continuously, always seeking to establish a precise, optimum exposure value. Such continuous efforts are inefficient because the benefits which result from their use become insignificant as the optimum exposure value is approached. As a result, a reader can devote large amounts of time and/or program space to producing only marginal improvements in reader performance.

[0010] One way of dealing with this inefficiency is to have the exposure control function performed by special purpose hardware, thereby effectively off-loading the burden of exposure control from the readers' programmable control circuitry. This off-loading can, however, increase the cost of the reader either by increasing its parts count or by requiring the use of a sophisticated or “smart” image sensor which has a built-in exposure control function.

[0011] Another deficiency of known exposure control circuits is that they can take a long time, i.e., many scans, to reach an acceptable exposure time value. This is particularly true in readers which always use the same initial exposure value, and which converge on their final exposure value in increments that are kept small in order to avoid overshooting or oscillating about that value.

[0012] Thus, a need has existed for an exposure control circuit and method which is not subject to the above-described deficiencies.

SUMMARY OF THE INVENTION

[0013] In accordance with the present invention there is provided an improved exposure control apparatus and method which is not subject to the above-described deficiencies.

[0014] Generally speaking the present invention contemplates an exposure control apparatus and method which defines a range or window of acceptable illumination signal values, which makes no attempt to adjust the exposure time of the image sensor so long as the illumination signal is within this window of acceptability, and which makes exposure time adjustments in a manner that causes the illumination signal to fall within the window in a relatively small number of scans. In this way a reader or imaging engine using the invention can devote less of its time to exposure control activity than previously known readers or engines, and thereby have more time to spend on other reader control activities. Alternatively, the reader/engine can be constructed from simpler, less powerful and less costly electronic devices without adversely affecting its ability to successfully image an indicia under a wide variety of ambient illumination levels, and/or at a variety of different reading distances.

[0015] In the preferred embodiments, a reader/engine constructed in accordance with the invention includes a relatively simple, inexpensive image sensor which has no built-in exposure or gain control circuitry, and which exposes its photosensitive array during a time period that is started and stopped by an externally generated control signal. These embodiment also include circuitry, responsive to the output signal of the image sensor, for generating an illumination signal that varies in accordance with the intensity of the light incident on the image sensor and the exposure time thereof. Finally, these embodiments includes exposure control circuitry which detects whether the illumination signal has a magnitude that is within a range of acceptable values and, if it is not, adjusts the exposure control signals in accordance with a stored program to cause the illumination signal to enter that range in one or a relatively small number of scans. If the illumination signal is within this range of acceptable values, the reader/engine takes no action to change the then current scan rate or exposure time of the image sensor.

[0016] Advantageously, the present invention has features that allow a reader to achieve an acceptable illumination level in a relatively short time. In a first embodiment, these features comprise the use of an initial exposure time value which is selected during the time that the reader is being programmed or set-up prior to actual use, preferably by means of a menu that requests the user to identify which of a relatively small number of displayed ambient light options, such as daylight, indoors, etc., best describes the conditions that the reader will be operating under. The reader then uses the selected option to establish an initial value for a control variable that controls the exposure time of the reader. This initial selection has the effect of causing the reader to begin operation with an exposure time value that is closer to its final exposure time value than would otherwise be the case. As a result, there is a substantial reduction in the total number of exposure adjustments that will later have to be made to bring the illumination level of the reader within the window of acceptability that characterizes the actual use thereof.

[0017] In a second, simpler embodiment, the initial value of the control variable may be set as a default, and assigned a value that is associated with illumination conditions that are typical of most user applications.

[0018] Another feature that allows the reader to achieve an acceptable illumination level in a short time comprises the use of at least one stored exposure control program which is designed to reduce the number of adjustments necessary for the illumination level to enter the window of acceptability. In a first embodiment the adjusting program is arranged to periodically sample the magnitude of the illumination signal and to increment or decrement the control variable when the illumination signal is found to have fallen outside the window during a scan. The number of adjustments may also be reduced by multiplying or dividing the control variable by a constant. The program then uses the latest control variable value to fix the exposure time that will be used during the next scan.

[0019] In a second embodiment, the number of adjustments necessary for the illumination level to enter the window of acceptability is reduced by dividing the dynamic range, or range of possible exposure times, of the image sensor, into a plurality of segments or steps each of which corresponds to a particular value of exposure time or a control variable associated therewith. With this embodiment the exposure time may be reduced by causing the control variable to assume the control value which corresponds to the immediately adjacent lower exposure time segment of the dynamic range of the image sensor. Similarly, the exposure time may be increased by causing the control variable to assume the control value which corresponds to the immediately adjacent higher exposure time segment of the dynamic range. In the preferred embodiment, the number of these segments is relatively small, e.g., between five and ten, and so related to the size and characteristics of the window of acceptability that the exposure time of the image sensor is changed progressively, in a step by step manner, thereby making it less subject to the instability and hunting that can occur when changes in exposure time are made too frequently or too suddenly.

[0020] A further improvement in the stability of the preferred embodiment of the invention is provided by introducing a predetermined hysteresis into the illumination levels that define the upper and lower boundaries of the window of acceptability, and by testing whether the illumination signal is above, below or between these limits only once during each scan period, preferably at or near the middle thereof. Together these measures prevent the reader circuitry from overreacting to noise in the illumination signal, particularly when the magnitude of the illumination signal is near one of its maximum and minimum acceptable values, and thereby becoming unable to stabilize at a value that remains within the window of acceptability.

[0021] One advantageous way of achieving the above-described result is to implement the maximum illumination value at the upper or “too bright” boundary of the window by means of first and second component maximum illumination values, and to implement the minimum illumination value at the lower or “too dark” boundary of the window by means of first and second component minimum illumination values. The use of two separate values for each boundary allows one value to be used as a threshold for illumination signals that are exiting the window at that boundary and the other as a threshold for illumination signals that are reentering the window at that boundary. The use of such separate window exit and reentry thresholds introduces a hysteresis into the crossings of the window boundaries, and thereby prevents the exposure time of the image sensor from being changed by illumination signal noise when the illumination signal has a value near that of one of the boundaries of the window.

[0022] Testing the magnitude of the illumination signal against the boundaries of the window at only a single time during a scan period further improves the operation of the image sensor by preventing illumination signals which have large peak-to-peak values from being found to have crossed both boundaries of the window during a single scan period. The present invention is not, however, limited to embodiments in which the testing takes place during a time period that is infinitesimally short, i.e., has a substantially zero duration, or to embodiments in which this testing takes place at the middle of the scan period. This is because, in some applications, it may be advantageous for the testing to take place during or over the course of a time interval that occupies a significant fraction of the scan period, provided that this time interval is relatively small in relation to the scan period as a whole, or to occur near the beginning or end of the scan period. It will be understood that all such variants and their equivalents are within the contemplation of the present invention.

[0023] All embodiments of the present invention may include window adjusting circuitry for automatically adjusting the boundaries of the illumination window in accordance with variations in the voltage at which the image sensor operates. Such boundary adjustments are desirable because variations in the image sensor supply voltage affect the dark reference voltage of the image sensor, which in turn affects the magnitude of the illumination signal. The window adjusting circuitry takes such variations in the magnitude of the illumination signal into account by causing the maximum and minimum illumination values to increase and decrease by the same amount, thereby maintaining between the illumination signal and the illumination window a relationship which is unaffected by changes in reader supply voltage. Because of the way that the hysteresis of the invention is produced, these adjustments of the window boundaries are accomplished without affecting the relationship between the window exit and re-entry threshholds.

DESCRIPTION of the DRAWINGS

[0024] Other objects and advantages of the invention will be apparent from the following description and drawings, in which:

[0025]FIG. 1 is an optical-electronic block diagram of one embodiment of a reader that is suitable for use in practicing the present invention;

[0026]FIG. 1A is an optical-electronic block diagram of a second embodiment of a reader that is suitable for use in practicing the present invention;

[0027]FIG. 2 is a schematic diagram of a window detector circuit suitable for use in the reader of FIG. 1;

[0028]FIG. 2A is a block-schematic circuit of a window detector circuit suitable for use in the reader of FIG. 1A;

[0029]FIG. 2B shows the output voltages of the window adjusting circuit of Fig. 2A;

[0030]FIG. 3 is a block diagram of one image sensor of a type suitable for use with the reader of FIG. 1;

[0031]FIG. 3A is a timing diagram that illustrates the operation of the image sensor of FIG. 3;

[0032]FIGS. 4A and 4B together comprise a flow chart of an exposure control program suitable for use with a first embodiment of the invention;

[0033]FIGS. 5A and 5B comprise alternative embodiments of exposure adjusting subroutines which may be used with the flow chart of FIGS. 4A and 4B;

[0034]FIG. 6 shows the dynamic range of an image sensor together with the segments into which that range is subdivided;

[0035]FIGS. 7A through 7C illustrate the effect of a window of acceptability of the type used with the second embodiment of the invention; and

[0036]FIG. 8 is a flow chart of an exposure control program suitable for use with the second embodiment of the invention.

DESCRIPTION of the PREFERRED EMBODIMENTS

[0037] Referring to FIG. 1 there is shown an optical-electronic block diagram of an exemplary optical reading apparatus or device 10 that is suitable for use with the present invention. Apparatus 10 serves to optically read or scan data encoded in a target indicia 15, here shown as a one dimensional (ID) bar code symbol, and to apply to an output 20 an electrical signal which may be decoded in a known manner by any of a variety of commercially available decoder devices (not shown) to produce a usable representation of the data encoded in indicia 15. Because devices such as that shown in FIG. 1 provide decodable rather than decoded data, they are often referred to as “engines” rather than as “readers”, i.e., engines that are equipped with decoders. Since the present invention is equally applicable to engines and to readers, however, this distinction is unimportant for purposes of the present description. As a result, the present description will be understood to apply both to readers and to engines, even when it uses only the more commonly used term “reader”.

[0038] In FIG. 1, the reader of the invention includes an image sensor 30 of the type having a ID array of photosensitive picture elements or pixels 32 (best shown in FIG. 3) upon which an image of bar code symbol 15 may be focused by a suitable optical, assembly 40. Image sensor 30 can also be of the type comprising a 2D array of pixels 32. The light forming this image will ordinarily be derived in part from ambient light and in part from a suitable light source 42 that is built into the reader and powered thereby. Image sensor 30 serves to convert this optical image into an electrical output signal OS which is further processed by a signal processing circuit 45 and a comparator 50 to produce a digital output signal labelled DATA for application to a decoder (not shown) via output 20.

[0039] The timing and control signals necessary to operate image sensor 30 are supplied thereto, in part, by a timing logic network 55 and, in part, by a programmed control device 60, which preferably comprises a microprocessor, such as a Motorola HC05, having on-chip program and data memories 62 and 64, respectively. The timing of timing logic network 55 and microprocessor 60 are controlled by a master clock 70 having an operating frequency that is, in turn, controlled by a suitable crystal 72. The manner in which image sensor 30 is controlled in accordance with these timing and control signals will be described more fully later in connection with the block diagram of FIG. 3, the timing diagram of FIG. 3A and the flow charts of FIGS. 4A, 4B, 5A and 5B.

[0040] To the end that the digital signal at output 20 may more accurately reflect the transitions of the white and black data elements of indicia 15, the reader of FIG. 1 includes a threshold voltage generating circuit 75 for controlling the threshold voltage used by comparator 50. Threshold circuit 75 serves to increase or decrease the latter voltage in accordance with the difference between black and white peak signal voltages BPS and WPS that are derived from image sensor output signal OS by black and white peak tracking circuits 80 and 85, respectively, via signal processing circuit 45 and low pass filter 47. This arrangement allows comparator 50 to reference its detection of data element transitions to a known proportion of the peak-to-peak output voltage of image sensor 30, thereby reducing the effect of instantaneous fluctuations in the ambient light level at indicia 15. Because signal processing, threshold and tracking circuits of this type are known in the art, and are included in readers that are commercially available from Welch Allyn, Inc. under the product designation ST-3400, they will not be further described herein.

[0041] Referring to FIG. 3, there is shown a simplified block diagram of one image sensor of a type that may be used in practicing the present invention, namely: a model TCD 1205D image sensor manufactured by Toshiba Corp. This image sensor includes a ID photosensitive array 32 that includes 2048 pixels, a clear gate 34 which is controlled by an integration clear signal ICG, a shift gate 36 which is controlled by a shift signal SH, a CCD analog shift register 38 out of which data may be serially shifted by clock signals φ1 and φ2, and signal output buffer 39 which is controlled by a reset signal RS. Not shown, for the sake of clarity, is the internally bifurcated structure of gates 34 and 36 and register 38.

[0042] The operation of the image sensor of FIG. 3 may be summarized as follows. The scan period of sensor 30 is the time between those successive high to low transitions of shift signal SH which coincide with the low state of normally high signal ICG, as shown by time T1 in FIG. 3A. High to low transitions of shift signal SH which occur during the high state of signal ICG causes the pixels of array 32 to be cleared or “dumped”, as shown during time period T2 of FIG. 3A. Together, these operations cause the image sensor to have an exposure which occupies the terminal portion of the scan period, and which is started and stopped by signals SH and ICG. Pixel data produced during the exposure time is parallel shifted from array 32 to shift register 38 when signal SH is high while signal ICG is low and signal φ1 goes high. The shifted data for each scan is then serially clocked out, via buffer 39, while the pixels of array 32 are being exposed to gather data for the next scan.

[0043] In view of the foregoing it will be seen that control signals SH and ICG together control both the exposure time and the scan period of image sensor 30. It will also be seen that, because the time necessary to shift out serial data, i.e., the data read out time, is fixed by the number of pixels and the clock frequency, there is no direct relationship between the data read out time and the scan period of sensor 30. In accordance with one feature of the present invention, these properties make it possible to vary the exposure time and scan period of the reader of the invention over a surprisingly broad dynamic range, thereby enabling the reader to read indicia over a wide range of distances, i.e., with a large depth of field.

[0044] In accordance with the invention, exposure control signals SH and ICG are generated by microprocessor 60, in accordance with a stored program that is designed to cause the output signal of image sensor 30 to assume, within the shortest possible time, a value that is within a window bounded by predetermined maximum and minimum values. Exposure control signals SH and ICG can be used in this way because both the intensity of the light incident on sensor 30 and the exposure time thereof affect the magnitude of sensor output OS. As a result, increases in exposure time can compensate for decreases in light intensity and vice-versa.

[0045] The illumination information necessary to maintain sensor output signal OS within the desired range of values may be derived therefrom either directly or indirectly. In most cases, it is preferable to derive this information indirectly. This is because indirect derivation allows the sensor output signal to be scaled, low pass filtered or otherwise processed in a way that allows the desired illumination information to be more conveniently handled. In order to reflect the variety of forms which the desired illumination information may take, the present description will use the term “illumination signal” to refer generically to any signal that varies in accordance with sensor output signal OS, without regard to whether the signal is analog or digital or whether the signal is derived from signal OS directly or indirectly.

[0046] In FIG. 1 the illumination signal comprises the output signal WPS produced by white peak tracking circuit 85. As previously explained, the latter signal has a value which varies in accordance with sensor output signal OS, but which has been processed and low pass filtered so that it reflects the time averaged maximum illumination level at sensor 30, rather than mere transient light intensity fluctuations at indicia 15. In the circuit of FIG. 1 the determination as to whether the illumination signal falls within the desired illumination window is performed by a hard-wired analog window detector circuit 90, which may comprise the comparator circuitry shown in FIG. 2. The window detecting function may also, however, be performed by an equivalent digital window detecting subroutine executed by microprocessor 60, provided that signal WPS is first converted to digital form and provided that microprocessor 60 has sufficient program memory and the time necessary to repeatedly execute such a subroutine. This digital form should be processed to extract the appropriate information for finding the time averaged value of the maximum illumination level.

[0047] Referring to FIG. 2, window detector circuit 90 includes a first comparator A for determining whether white peak signal WPS has a value greater than a first DC window reference signal WRS (MAX) which is derived from a suitable voltage divider tap TA and which sets the value of the maximum acceptable value of the illumination signal. Similarly, window detector circuit 90 includes a comparator B for determining whether white peak signal WPS is less than a second DC reference window signal WRS (MIN) which is derived from a suitable voltage divider tap TB and which sets the value of the minimum acceptable value of the illumination signal. Given the connections shown in FIG. 2, the outputs of comparators A and B will produce the combinations of output states shown in Table 1. More particularly, comparators A and B will produce the combination of output states O and l, respectively, only when illumination signal WPS is within the window of acceptability bounded by signals WRS (MAX) and WRS (MIN). Other combinations such as 00 and 11 indicate that the illumination signal is not within this window, i.e., is too high or too low, respectively (or cannot occur). Except as will be discussed later in connection with FIGS. 6 through 8, comparator circuits of the general type shown in FIG. 2 operate in a manner known to those skilled in the art. Accordingly, the operation of comparators A and B will not be described in detail herein.

[0048] The manner in which the illumination signal of the invention is used in a first embodiment of the invention will be described presently conjunction with the flow charts of FIGS. 4A, 4B, 5A and 5B. The manner in which the illumination signal is used in a second embodiment of the invention will be described later in connection with FIGS. 6 and 7A-7C, and the flow chart of FIG. 8.

[0049] As explained earlier, the magnitude of the illumination signal of the present invention may also be derived directly from output signal OS of image sensor 30. A first way of accomplishing this is shown in FIG. 1. In FIG. 1, determining the magnitude of the illumination signal is accomplished by connecting the output of sensor 30 directly to an I/O port of microprocessor 60, or to an A/D converter which is connected to such a port as, for example, by a conductor 95 shown in dotted lines in FIG. 1. With this embodiment, the analog output signal of sensor 30 is converted to digital form by the external A/D converter or by an A/D converter that is built into processor 60. Once converted to digital form, the illumination signal may be processed by means of a digital window detecting subroutine to produce window state signals, such as those shown in Table 1, in a manner that will be apparent to those skilled in the art. Depending upon the application, and the speed and power of microprocessor 60, this A/D conversion may be performed on each pixel of the image sensor output, each Nth pixel of the image sensor output, or selected centrally located representative pixels thereof. It will be understood that all such sampling methods are within the contemplation of the present invention.

[0050] A second way of deriving the illumination signal directly from output signal OS of image sensor 30 is shown in FIG. 1A. In FIG. 1A the illumination signal is produced by a dedicated white peak tracking circuit 86 which is of the same general type as previously described white peak tracking circuit 85, but which is directly coupled to the output of image sensor 30. This illumination signal is preferrably coupled to window detector 90A through a dedicated low pass filter circuit 87. One advantage of the illumination signal generating circuit of the embodiment of FIG. 1A is that it allows the design of the white peak tracking and low pass filtering which is associated with window detector 90A to be independent of and different from that which is associated with threshold circuit 75. Another is that it allows signal processing circuit 45 and associated circuitry to be AC coupled to image sensor 30 through a suitable coupling capacitor C.

[0051] Other advantages of this direct derivation will be discussed later in connection with a discussion of the adjustability of the illumination window.

[0052] The First Embodiment of the Invention

[0053] The operation of the exposure control circuitry of the first embodiment of the invention will now be described with reference to the flow charts of FIGS. 4A, 4B, 5A and 5B. The exposure control process for this embodiment begins with blocks 100 and 105 of FIG. 4A, which represent one of the known set-up procedures that are used to program a reader each time that it is first turned on after having been unused for a substantial time, such as overnight. In accordance with the invention, this procedure is modified to include steps that result in the generation of a signal that provides a general indication of the overall ambient light condition under which the reader will be used. This may, for example, be done by presenting to the user a menu that includes a short list of selectable options such as: a) outdoors, b) indoors with bright lighting conditions, or c) indoors with dim lighting, etc. and by using the selected option to fix the initial value of a control variable that determines the initial exposure time for sensor 30. This may also be done, without the active participation of the user, by performing a series of exploratory scans (with light source 42 off) with exposure times that correspond to the user selectable options and selecting the option that most nearly corresponds to the result of the scan.

[0054] Once the ambient light condition has been coarsely determined, and the setup procedure has been completed, the processor continues to blocks 110 and 115. These blocks cause the reader to use the selected ambient light condition to determine the initial value of the control variable and to set the reader to begin operation with that value.

[0055] In readers that include image sensors, such as the Toshiba 1205D, that are controlled by externally generated start-stop signals such as SH and ICG, the control variable may comprise the count, herein referred to as the “shutter count”, which is set into a working counter at the start of the scan period of the sensor. This count is then decremented by a suitable shutter clock signal until, upon reaching zero, a signal is applied to the sensor to start the exposure interval. The exposure interval then continues until the end of the scan period. Accordingly, in such readers, the exposure time of the sensor will be dependent upon the duration of the scan period and the magnitude of the shutter count. Thus, the relationship between the exposure time and the control variable will be an indirect or inverse one.

[0056] The present invention may also, however, be practiced using image sensors which generate their own exposure start and stop signals based on exposure time values that are generated by circuitry external to the sensor. In readers of this type the number, count, etc. which defines or specifies the desired exposure time value comprises the control variable and may be used merely be loading it into a suitable hardware or software exposure timer. The sensor then exposes the pixel array during the period between the starting and stopping of the timer. In such readers, the relationship between the exposure time of the sensor and the control variable is a direct one.

[0057] In spite of their apparent differences, the two above-described control variable relationships are equivalent for purposes of the present invention. This is because the present invention is not dependent upon whether the control variable controls the exposure time of the sensor directly or indirectly, or upon whether the exposure interval is started and stopped by circuitry that is internal to or external to the image sensor. Accordingly, while the remainder of the flow charts of FIGS. 4A, 4B, 5A and 5B, will be discussed in terms of a control variable (shutter count) that is indirectly related to exposure time, it will be understood that, with only minor modifications of a type that will be apparent to those skilled in the art, they can be used with a reader that uses a control variable that is directly related to exposure time.

[0058] Returning to FIG. 4A, once the reader has been set to use the initial control variable value determined from blocks 100-110, the processor continues to block 120. This block causes the processor to wait for the user to request a scan by pulling the readers' trigger or, if the reader is not of the trigger actuated type, moving a target indicia into the readers' field of view. When this occurs, the processor proceeds to block 125 which causes it to wait for the actual start of a scan. As scans proceed, light source 42 will ordinarily be turned on only briefly prior to the end thereof.

[0059] Referring to FIG. 4B, the start of a scan directs the processor to a set of blocks 130, 135, 140, 145 and 150, which together sample the illumination signal, and determine if it has a magnitude that is within a predetermined window of acceptable illumination values. These steps are accomplished by examining the outputs of window detector 90 to determine which of the states shown in Table 1 applies. If this examination indicates that the illumination signal is too bright (block 135), i.e., state 00 of Table 1 is detected, the reader will store that fact, as called for by block 145 as, for example, by setting a suitable “too bright” flag. Whether or not the illumination signal is too bright, the processor proceeds to block 140, which determines whether the illumination signal is too dark, i.e., whether state 11 of Table 1 is detected. If the latter state is detected, the processor will store that fact as called for by block 145 as, for example, by setting a “too dark” flag. Naturally, if the illumination signal is within the window of acceptability neither of these flags will be set. The processor then proceeds to block 150, which causes it to determine whether the scan period is over before looping back for another sample, as will be discussed more fully later.

[0060] In the event that the illumination signal is a digital signal derived directly from image sensor output signal OS, e.g., via conductor 95, block 130 may be replaced by a read block 130′, and blocks 135 and 140 maybe replaced by blocks (not shown) which call for digital comparisons similar to the analog comparisons performed by comparators A and B. Together, these blocks perform a window detecting function which is equivalent to that of blocks 130-145 and window detector 90. Because this alternative type of window determination is of a type well-known to those skilled in the art, it will not be described in detail herein.

[0061] In the preferred embodiment of FIG. 4B, the exposure control program is arranged so that the detection of even a single “too bright” condition during a scan will cause the control variable to be changed in a direction which decreases the exposure time used for the next scan. It is also arranged, however, so that a “too dark” condition is detected only if the illumination signal remains outside the window of acceptability during substantially an entire scan. This difference in treatment is desirable to assure that the exposure time of the reader is not flagged for an increase in exposure time merely because black data elements of the indicia causes the illumination signal to have a series of low values. It also assures that the window detection process does not result in indications that the illumination signal is both too bright and too dark. In any case, the outcome of a scan will be either the setting of a “too bright” flag or the setting of a “too dark” flag, but not both. As will be explained more fully presently, the control variable is updated, if at all, once at the end of each scan and is unchanged thereafter until the end of the next scan.

[0062] After a sample illumination signal value has been evaluated in the above-described manner, the processor loops back through blocks 155 through 170 to take additional samples, unless the scan has ended per block 150. Each time it does so, it decrements the shutter count in the working counter by 1, per block 160, unless the counter has already counted down to 0, per block 155. The 0 condition of the working counter is important since it marks the start of the exposure time of sensor 30 in accordance with blocks 165 and 170. Once the 0 condition of the counter is reached, blocks 160-170 are bypassed until the next scan. The sampling process continues, however, until the processor determines per block 150 that the scan has ended. The net result of this processing is that the processor will exit block 150, at the end of a scan, with one of the out-of-window flags set, indicating that the control variable needs to be updated, adjusted, or with neither out-of-window flag set, indicating that the control variable does not need to be adjusted.

[0063] Upon exiting the above-described sampling loop at the end of a scan, the processor is directed to block 180. As this occurs, the exposure interval of the sensor is ended and signal SOS is outputted. As explained earlier, the latter signal, together with signal DATA, comprise the output of the reader at output 20.

[0064] On exiting block 180, the processor enters a control variable adjusting block 185, two alternative representations of which are shown in greater detail in FIGS. 5A and 5B. Turning first to the embodiment of FIG. 5A, the processor first encounters a block 190 which directs it either to block 192 or 194, depending on whether the “too bright” or the “too dark” flag has been set. If it is the former, the stored shutter count value is incremented by 1 to reduce the exposure time by one unit; if it is the latter, the shutter count is decremented by one to increase the exposure time by one unit. In either case, the processor is directed to block 196, which causes it to set the updated shutter count into the working counter and clear the flags in preparation for the next scan.

[0065] Once the processor has exited adjusting block 185, it is in condition to begin the next scan with its new control variable value (if any) in place. Whether or not it immediately begins a new scan depends on whether the last scan produced a decodable result and, if it did, whether or not another read operation is being called for by the user. These various alternatives are processed in accordance with blocks 200-210, which direct the processor back to different points in the flow chart of FIG. 4A depending on the outcome of the scan and the intentions of the user. Because these blocks are self-explanatory, their operation will not be described in detail herein.

[0066] In view of the foregoing, it will be seen that the exposure control process illustrated in FIGS. 4A, 4B and 5A includes a window detecting step comprising a determination of whether the illumination signal is or is not within a window of acceptability and an adjusting step comprising a changing of the control variable in accordance with a stored adjustment strategy designed to minimize the number of adjustments. Because the in-window/out-of-window determination is performed largely by hardware, and because the adjustment of the control variable requires only a few rapidly executable instructions, the entire exposure control process may be executed in a relatively short time, particularly when used in conjunction with the initial control variable selection or determination that is made during the initial programming of the reader. In addition, because control variable adjustments are made only once, at the end of a scan, the exposure determination process is able to avoid the adverse effects of conditions, such as hunting, that can occur if the control variable is changed too frequently. As a result, the exposure control process of the invention will be seen to converge rapidly and monotonically on a range of acceptable values, and to do so without requiring large amounts of program memory space or execution time.

[0067] In some applications, particularly those in which the window of acceptability is relatively narrow, or in which the control variable has a relatively high resolution (e.g., a large number of bits), even the above-described exposure control process can require that numerous scans be made before the illumination signal enters the desired window. In such applications, the time necessary for the illumination signal to enter its window of acceptability may be substantially reduced by substituting the updating routine shown in FIG. 5B for that shown in FIG. 5A. This is because the updating routine 185′ shown in FIG. 5B is arranged to update the control variable by the process of multiplication and division, rather than by the process of addition and subtraction, thereby greatly reducing the time necessary to make large adjustments.

[0068] More particularly, referring to FIG. 5B, the detection of a “too bright” (00) condition results in the value of the stored shutter count being multiplied by 2, as shown by block 192′. Conversely, the detection of a too dark (11) condition results in the value of the stored shutter count being multiplied by ½(or, equivalently, divided by 2), as shown by block 194′. These multiplications are accomplished easily and quickly by shifting the contents of the stored shutter count 1 place to the left or one place to the right, respectively. Significantly, this does not result in overadjustment or underadjustment. This is because the exposure interval is initiated when the working shutter count reaches 0 (blocks 165 and 170), and because the shifting right or shifting left of the stored shutter count (blocks 192 and 194′) causes the latter to change in increments that correspond to the least significant bits thereof.

[0069] In its broadest aspect, the present invention is not limited to the exemplary high speed updating routines shown in FIGS. 5A and 5B. The latter routines could, for example, be replaced by routines in which the control variable is updated on the basis of flag data or flag patterns that are stored and accumulated over a plurality of successive scans, or that vary according to any predetermined rule that can be stored in the program memory. In addition, the present invention is not limited to embodiments in which adjustments in the control variable are made at or after the end of a scan, or to embodiments in which adjustments in the control variable are made only once during a scan. It will therefore be understood that variants of all of these types are within the contemplation of the present invention.

[0070] The Second Embodiment of the Invention

[0071] As will be explained more fully presently, the invention may be also be practiced by providing the reader of FIG. 1 with an exposure control program in which the full dynamic exposure control range of the image sensor is divided into a relatively small number of discrete segments or steps, and in which transitions are made in a stepwise manner only between adjacent ones of such segments or steps. In preferred embodiments of this type, the use of this approach is coupled with the use of an illumination window, the maximum and minimum values of which each have a first switching threshold for illumination signal values that are leaving the window and a second threshold for illumination signal values that are re-entering the window, i.e., maximum and minimum values which exhibit a predetermined amount of hysteresis. Together, these features assure that necessary changes in exposure time are made quickly and in a manner that substantially eliminates the instabilities, such as hunting, that can occur when the illumination signal has a value that is near that of one of the boundaries of the illumination window.

[0072] Referring to FIG. 6, there is shown an example of an exposure control range which is divided into six discrete segments N1 through N6 which correspond to six different exposure time values ET1 through ET6, although numbers of segments larger or smaller than six could also be used. These segments may be but are not necessarily equal in size. The important thing is that they together define a range of exposure times that covers approximately the entire range of illumination conditions under which the associated reader is designed to operate. In accordance with the invention, changes in exposure time are made by incrementing the exposure time from the current value to the next adjacent higher or lower value. If, for example, the current exposure time is ET3, the exposure time may be increased to exposure time ET4 or decreased to exposure time ET2, but not increased to ET5 or decreased to ET1. Stated differently, the exposure time is controlled by controlling the value of segment number N, that serves as a control index or pointer which may be incremented or decremented in a stepwise manner, one step at a time, but which may not be changed randomly from one value to another. The stepwise or sequential nature of these adjustments provides a degree of stability that cannot be achieved by the use of exposure time look-up tables that are randomly addressed.

[0073] The exposure time adjustment process is, further stabilized by controlling changes in the value of N in accordance with the relationship between the instantaneous value of an illumination signal and an illumination window which has maximum and minimum values each of which has two different switching thresholds, one for signals exiting the window and another for signals entering that window. An illumination window of this type is shown in FIGS. 7A through 7C. For the sake of clarity, the latter figures show an illumination signal that is simplified and horizontally expanded.

[0074] Referring first to FIG. 7A, the illumination window as a whole is indicated by the letter W. The maximum illumination value of this window is IMAX and includes a first component maximum illumination value IMAX1 which is associated with illumination signals that are leaving window W and results in the setting of a “too bright” flag and a decrementing of N. It also includes a second component maximum illumination value IMAX2 which is associated with illumination signals that are re-entering window W and results in the resetting of the “too bright” flag. As a result of the difference between these maximum values, an illumination condition is not regarded as too bright until the illumination signal crosses IMAX1 and, if it does so, the “too bright” condition is regarded as continuing until the illumination signal not only re-enters window W, but also crosses IMAX2. Similarly, the minimum illumination value of this window is IMIN1 and includes a first component minimum illumination value IMIN1 which is associated with illumination signals that are leaving the window and results in the setting of a “too dark” flag and an incrementing of N. It also includes a second component minimum illumination value IMIN2 which is associated with illumination signals that are re-entering window W and results in the resetting of the “too dark” flag. As a result of the difference between these values, an illumination condition is not regarded as too dark until the illumination signal crosses IMIN1 and, if it does so, the too dark condition is regarded as continuing until the illumination signal not only re-enters the window, but also crosses IMIN2.

[0075] The above-described double-valued window boundaries introduces into the window detection process a hysteresis which stabilizes the exposure control system as a whole by reducing its tendency to overreact to noise related changes in the magnitude of the illumination signal. The exposure control system as a whole is further stabilized by using these double-valued boundaries in conjunction with a sampling or testing process according to which the in or out of window state of the illumination signal is determined during a predetermined relatively brief portion of each scan. In the preferred embodiment this sampling takes place during a sampling interval which occurs in the middle of the scan and has a duration approximately equal to zero. This, in turn, creates a condition in which the illumination signal is sampled at substantially a single instant of time TSAMP, as shown in FIGS. 7A through 7C.

[0076] short duration for the sampling interval is preferred because it reduces the effect illumination signal noise, which changes much more rapidly than the illumination signal with which it is mixed. This short duration also prevents the exposure control circuitry from the ambiguities that can occur if the sampling interval is long enough to allow the illumination signal to cross both the upper and lower boundaries of the illumination window during a single scan. The location of the sampling time at the middle of a scan is preferred because it causes the sampling process to be less affected by light intensity variations that occur as a function of the distance between a point in an image and the optical axis of the system that illuminates and images it, the so-called cosine-4th effect. In spite of the fact that these durations and locations for the sampling interval are preferred, it will be understood that the present invention is not limited to exposure control circuits which use a sampling interval having a duration approximately equal to zero or occurring at any particular time during a scan period.

[0077] In some applications, it may be desirable to determine whether the exposure time of an image sensor is or is not within acceptable limits without using the illumination window of the invention with the instantaneous value of the illumination signal. This is because that instantaneous value may change so rapidly that stability is difficult to achieve. In such cases, the desired stability may be achieved by using, not the instantaneous value of the illumination signal, but rather by using a time averaged value thereof. Such time averaged values may be the cumulative average over part or all of a scan, running averages of various kinds, and weighted averages, among others. If such averages are used, the duration of the sampling interval may be increased accordingly since a time averaged signal cannot change rapidly enough to introduce ambiguities or instabilities when used with such longer duration sampling intervals. It will therefore be understood that the invention is not limited to the use of sampling intervals having infinitesimally short durations or to illumination signals that are instantaneously variable quantities.

[0078] Referring to FIG. 7A, there is shown an illumination signal having a magnitude that is neither increasing nor decreasing with time and has a magnitude that bears an overall acceptable relationship to illumination window W with pointer N pointing to a particular exposure time value. Since no excursions of the illumination signal outside the window coincide with time TSAMP, there are no changes in N and therefore no changes in the exposure time of the image sensor during the illustrated scan. Even though from time to time, by chance, there will be scans in which TSAmp coincides with an out of window excursion of the illumination signal and results in the incrementing or decrementing of pointer N, these incrementings and decrementings tend to cancel out, also by chance, as scan follows scan. This is because, as previously stated, the illumination signal of FIG. 7A bears an overall acceptable relationship to the illumination window, and because changes in the value of N that are produced by the detection of random crossings of one window boundary result in over or under exposures that quickly lead to the detection of other, non-random window boundary crossings that cancel out the changes and restore N to its proper value.

[0079] Referring to FIG. 7B, there is shown an illumination signal of the type which is produced when the illumination level at the target increases with time. Because of this increase, there will eventually occur a time when TSAMP coincides with an illumination signal value that exceeds illumination value IMAX1. When this occurs N will be decremented, thereby causing the next lower exposure time to be used for the current scan. This adjustment can be made during the current scan because, as explained in connection with FIG. 3A, with the TCD 1205D image sensor, the exposure time occupies the terminal portion of each scan. If this decrementing of N results in an exposure time that is appropriate to the then current illumination level, the illumination signal will stabilize as it comes to bear to the illumination window a relationship like that shown in FIG. 7A. If this decrementing of N does not result in an suitable exposure time, one or more further decrementings of N will occur as necessary during later scans until either a satisfactory exposure time is attained or the illumination level at the target changes in a way that makes further change unnecessary.

[0080] The quality of the results produced by the use of the above-described method of changing exposure time has been found to be related to the number N of segments into which the dynamic exposure control range of the image sensor is divided. This is because, if N is too large, it can take many scan periods and many incrementings of N to bring the illumination signal within acceptable limits. If the number is too small, exposure time adjustments can be so coarse that they can result in overcorrections. Accordingly, while the optimum number of segments into which the dynamic range of the image sensor is divided cannot be regarded as critical in an absolute sense, it can be regarded as critical in relation to the size of the illumination window and the difference between the illumination values at each of the window's boundaries. It will therefore be understood that it is an important feature of the present invention for the number of segments N be so related to the four illumination values making up the illumination window that an acceptable exposure time is achieved in a stable manner and in a relatively small number of scan periods.

[0081]FIG. 7C shows an enlarged view of an illumination signal just before and just after time TSAMP, i.e. at the middle portion of a scan. In this Figure, the dotted line shows the magnitude which the illumination signal would have if it did not include noise, and the solid line shows its magnitude with noise. From this Figure it will be seen that, if the sampling of the illumination signal were not confined to a brief sampling interval, and if the upper boundary of the illumination window were not bounded by first and second component maximum illumination values that define separate window exit and re-entry thresholds, noise would cause the illumination signal to repeatedly exit and re-enter the window. Since only one of these exitings, that associated with the dotted line, represents real data, these repeated exits and re-entries are spurious, and result in an unstable condition in which the exposure time is changed back and forth between two adjacent values over the course of a series of scans, i.e., in “hunting”. With the sampling interval, and with the separate window exit and re-entry thresholds of the invention, this hunting is prevented, and the circuitry operates stably in the manner described in connection with FIGS. 7A and 7B.

[0082] The desired amount of hysteresis can be produced in a variety of different ways. One of the simplest of these is to establish a suitable relationship between the feedback and input resistors, respectively, of comparators A and B of FIG. 2. If, for example, the amount of hysteresis for the upper boundary of window W is to be relatively high, then the ratio of feedback resistor RFA of comparator A to input resistor RIA thereof should be relatively low. Conversely, if the amount of hysteresis is to be relatively low, then the latter ratio should be relatively high. Similar relationships determine the amount of hysteresis for the lower boundary of window W, which hysteresis may but need not be the same as that for the upper boundary thereof. Alternatively, all of the window boundaries may be established by means of a stored digital window detecting routine which uses the A/D converted form of the image sensor output signal, as explained earlier in connection with FIG. 1. It will be understood that these and all equivalent ways of establishing the desired double-boundaried window are within the contemplation of the present invention.

[0083] The operation of the circuitry of the invention will now be described with reference to the flow chart of FIG. 8. In FIG. 8, the reading process begins when a manually or automatically initiated trigger signal (not shown) occurs, and causes the reader to initialize (block 805). As a part of this initialization, the value of N is set to its default value to establish an initial value for the exposure time of the image sensor. This value of N will ordinarily but not necessarily be a value, such as N3 or N4 of FIG. 6, from which N may be either incremented or decremented. Control then passes to block 810 which initiates a scan. As this scan proceeds, the reader cycles through blocks 815 and 820, until it is either manually or automatically discontinued by the action of block 820. As this occurs, a data interrupt routine (not shown) is activated repeatedly to process data as it becomes available. Because these steps are conventional, they will not be described in detail herein.

[0084] In accordance with the invention, the above-described reading process is interrupted by block 815 at that time during each scan which corresponds to TSAmp. At the latter time, block 815 causes control to pass to blocks 825 and 830 which perform the illumination level determinations discussed in connection with FIGS. 7A and 7B. More particularly, blocks 825 and 830 cause the reader to examine the outputs of the comparators of window detector 90 and determine whether the illumination signal is within the window (OK), greater than maximum illumination value IMAX1 (too high or bright) or less than minimum illumination level IMIN1 (too low or dark). If it is greater than IMAX1, a “too bright” flag is set (block 835) and N is decremented (block 840) to select the next lower value of exposure time. The reduced exposure time may be put into effect by changing the shutter count in the working counter discussed in connection with FIG. 4B. If the illumination signal is less than IMIN1 , a “too dark” flag is set (block 845) and N is incremented (block 850) to select the next higher value of exposure time. If the illumination signal is within the window, both flags are reset (block 855) and the value of N is not changed.

[0085] Once the adjustment of N, if any, is complete, control passes to block 860, which serves to delay the beginning of the exposure period until the working counter counts down to zero. When the latter condition occurs, the contents of the image sensor are dumped so that the new exposure begins in a known, zeroed state. As the exposure proceeds, the illumination is turned on at the appropriate time before the end of the scan via an interrupt routine not shown. The exposure then continues until the end of the scan (block 865), when data is read (block 870) and a determination made as to whether scanning is to continue (block 875). The reader then either begins a new scan or stops scanning at this time.

[0086] Because changes in N that are made during the course of a scan occur at about the middle of a scan, they increase the exposure time of that scan only if the new value of N corresponds to an exposure time that is less than one half of a scan period. As a result, values of N that correspond to longer exposure times will not take full effect until the following scan. Although this situation results in some scans being unusable or “lost”, the loss of such scans have been found to not affect the overall performance of the reader significantly enough to justify the design changes that would be necessary to eliminate that loss.

[0087] In the preferred embodiment the flags are set via block 835 or 845 as the illumination signal exits window W, and are reset via block 860 as the illumination signal re-enters window W. The setting and resetting of the flags via blocks that are in different, separate paths through the flow chart of FIG. 8 is advantageous because it provides a convenient way of allowing the apparatus of the invention to establish the desired hysteresis. Since the paths (blocks 835 or 845) that set the “too bright” and “too dark” flags, are separate from the path (block 855) that resets these flags, these flags should be arranged so that their states do not toggle as successive signals of the same type are applied thereto. Arranging the flags in this way has the advantage that it speeds up the reaching of a stable exposure condition under those circumstances where N must be incremented or decremented in the same direction two or more times in succession.

[0088] While the above-described flag control circuitry operates well, it has a number of variants that may be advantageous, depending on the particular application. The incrementing and decrementing of N, for example, need not be made during the same scan during which the need for an incrementing or decrementing was determined to be necessary. The incrementing or decrementing may, for example, be made at the end of the scan or at the beginning of the next scan. Similarly, the flags may be arranged so that a setting of the “too bright” flag is automatically accompanied by a resetting of the “too dark” flag, and vice-versa. Such a variant may be advantageous in applications in which it is possible for both flags to become set without the illumination signal re-entering widow W. The flags may also be arranged so that both are reset at the end of each scan, thereby allowing each scan to make an exposure acceptability determination which is independent of the results of any prior determination. It will be understood that all such variants and their equivalents are within the contemplation of the present invention.

[0089] Referring to FIGS. 1A and 2A there is shown a variant of the exposure control circuitry of the invention which allows the boundaries of the illumination window to be automatically adjusted in accordance with variations in the voltage at which the image sensor operates. Adjustments of these boundaries are desirable because variations in the magnitude of the image sensor supply voltage affect the dark reference voltage of the image sensor, which in turn affects the magnitude of the illumination signal. By making the boundaries of the illumination signal increase and decrease by approximately the same amount as the illumination signal, the relationship between the illumination signal and the illumination window is maintained. This, in turn, assures that determinations of whether the exposure time of the image sensor is or is not within acceptable limits are unaffected by variations in the reader's power supply voltages, and thereby prevents changes in exposure time that are not associated with changes in the illumination level at the target.

[0090] The above-described result is produced by including in the exposure control circuitry a window adjusting circuit 88 and by replacing the window detector 90 of FIG. 2 by a window detector 90A of the type shown in FIG. 2A. As shown in FIG. 2A, window detector 90A is generally similar to that of window detector 90 of FIG. 2, except that the passive voltage dividers thereof are eliminated and replaced by connections to the outputs 88A and 88B of window adjusting circuit 88. The latter circuit preferrably includes a pair of operational amplifier circuits (not shown) which have output voltages that are predetermined linear functions of the voltage VPOWER produced by the image sensor power supply, as shown in FIG. 2B. The parameters of these linear functions, i.e., their slopes and intercepts, depend on the type of image sensor and power supply that is used, and are selected to cause the voltages applied to comparators A and B to vary just enough to track the variations in the illumination signal that are caused by changes in VPOWER. The latter voltages are referenced to a dark reference voltage VDR which is adjusted to a value proper for each particular image sensor under a condition of known zero input at the time of manufacture. This dark reference voltage is also applied to white peak tracking circuit 86, via a conductor 89, thereby assuring that the latter circuit and the window detector circuit are referenced to the same voltage. Because operational amplifier circuits that produce output voltages that are linear functions of their input voltages are known to those skilled in the art, these operational amplifier circuits will not be discussed in detail herein.

[0091] Because the earlier discussed differences between the exit and re-entry threshholds of the illumination window are produced by feedback resistances RFA and RFB and input resistances RIA and RIB, changes in the boundaries of the illumination window that are made by window adjusting circuit 88 automatically result in changes in both the exit and re-entry threshholds of the window. As a result, it is not necessary to provide separate adjusting circuits for each of these switching threshholds. It will be understood that, if the window exit and re-entry thresholds are produced by separate threshhold setting circuits, it may be desirable to use a voltage adjusting circuit that simultaneously adjusts all four of these thresholds.

[0092] While the foregoing description makes reference to a number of specific embodiments, it will be understood that the true spirit and scope of the present invention should be determined with reference to the appended claims. 

What is claimed:
 1. A method for controlling an exposure period of an optical reader, said reader having an image sensor including a pixel array comprising a plurality of pixels, said method comprising the steps of: generating an image sensor signal that varies in accordance with the intensity on light incident of said pixel array; generating an illumination signal that varies in accordance with a time averaged value of said image sensor signal; establishing an initial exposure control variable, said exposure control variable determining the duration of said exposure period; detecting whether said illumination signal is inside or outside of an illumination window bounded by predetermined maximum and minimum illumination values; increasing said exposure control variable if said illumination signal is below said predetermined minimum illumination value; and decreasing said exposure control variable if said illumination signal is above said predetermined maximum illumination value.
 2. The method of claim 1, wherein said detecting step includes the step of detecting a plurality of times during a scan period of said reader whether said illumination signal is inside or outside of said illumination window.
 3. The method of claim 1, wherein said control variable comprises a count that determines an occurrence time of an exposure start signal.
 4. The method of claim 3, wherein said increasing step includes the step of adjusting said count in a first direction if said illumination signal exceeds said maximum illumination value.
 5. The method of claim 3, wherein said decreasing step includes the step of adjusting said count in a second direction if said illumination signal is below said minimum illumination value.
 6. The method of claim 4, wherein said adjusting step includes the step of adding to or subtracting from said count.
 7. The method of claim 5, wherein said adjusting step includes the step of adding to or subtracting from said count.
 8. The method of claim 4, wherein said adjusting step includes the step of multiplying or dividing said count by a predetermined number.
 9. The method of claim 5, wherein said adjusting step includes the step of multiplying or dividing said count by a predetermined number.
 10. The method of claim 1, wherein said establishing step includes the step of responding to a user selected option for setting an initial exposure period.
 11. An optical reader comprising: an image sensor comprising an array of pixels; an optical assembly for focusing an image onto said image sensor; a circuit for controlling an exposure period of said optical reader, said circuit being adapted to: (A) generate an illumination signal based on an output of said image sensor; (B) establish an initial exposure control variable, said exposure control variable determining a duration of said exposure period; (C) detect whether said illumination signal is within a window bounded by minimum and maximum illumination signal values; (D) increase said exposure control variable if said illumination signal is below said minimum illumination value; and (E) decrease said exposure control variable if said illumination signal is above said maximum value.
 12. The optical reader of claim 11, wherein said reader in detecting whether said illumination signal is within said window detects a plurality of times during a scan period of said reader whether said illumination signal is inside or outside said window.
 13. The optical reader of claim 11, wherein said reader in detecting whether said illumination signal is within said window detects a single time during a scan period of said reader whether said illumination signal is inside or outside said window.
 14. The optical reader of claim 11, wherein said reader in increasing said exposure control variable increases said exposure control variable by a predetermined increment.
 15. The optical reader of claim 11, wherein said reader in decreasing said exposure control variable decreases said exposure control variable by a predetermined increment.
 16. The optical reader of claim 11, wherein said reader in increasing said exposure control variable multiplies or divides said exposure control value by a constant.
 17. The optical reader of claim 11, wherein said reader in decreasing said exposure control variable multiplies or divides said exposure control value by a constant.
 18. The optical reader of claim 11, wherein said window comprises first and second component maximum illumination values that define separate window exit and re-entry thresholds.
 19. The optical reader of claim 11, wherein said reader includes an exposure control menu, and wherein said reader in establishing said initial exposure control variable establishes said initial exposure control variable in response to user-initiated control input into said reader is response to a request presented by said exposure control menu, wherein said user-initiated control is selected from a daylight exposure control variable setting and an indoors exposure control variable setting.
 20. The optical reader of claim 11, wherein said reader in generating said illumination signal generates an illumination signal that varies in accordance with a time averaged value of an image sensor signal output by said image sensor.
 21. A method for controlling an exposure period of an image sensor based optical reader, said method comprising the steps of: (A) generating an illumination signal based on an output of said image sensor; (B) establishing an initial exposure control variable, said exposure control variable determining a duration of said exposure period; (C) detecting whether said illumination signal is within a window bounded by minimum and maximum illumination signal values; (D) increasing said exposure control variable if said illumination signal is below said minimum illumination value; and (E) decreasing said exposure control variable if said illumination signal is above said maximum value.
 22. The method of claim 21, wherein said detecting step includes the step of detecting a plurality of times during a scan period of said reader whether said illumination signal is inside or outside said window.
 23. The method of claim 21, wherein said detecting step includes the step of detecting a single time during a scan period of said reader whether said illumination signal is inside or outside said window.
 24. The method of claim 21, wherein said increasing step includes the step of increasing said exposure control variable by a predetermined increment.
 25. The method of claim 21, wherein said decreasing step includes the step of decreasing said exposure control variable by a predetermined increment.
 26. The method of claim 21, wherein said increasing step includes the step of multiplying or dividing said exposure control value by a constant.
 27. The method of claim 21, wherein said decreasing step includes the step of multiplying or dividing said exposure control value by a constant.
 28. The method of claim 21, wherein said window comprises first and second component maximum illumination values that define separate window exit and re-entry thresholds.
 29. The method of claim 21, wherein said establishing step includes the step of establishing said initial exposure control variable in response to a user-initiated control input into said reader is response to a request presented by an exposure control menu, wherein said user-initiated control comprises one of a daylight exposure control variable setting and an indoors exposure control variable setting.
 30. The method of claim 21, wherein said generating step includes the step of generating an illumination signal that varies in accordance with a time averaged value of an image sensor signal output of said image sensor.
 31. An optical reader comprising: an image sensor comprising an array of pixels; an optical assembly for focusing an image onto said image sensor; a circuit for controlling an exposure period of said optical reader, said circuit being configured to establish an exposure control variable of said reader to one exposure control variable value out of a step pattern of possible exposure control variable values, said circuit being adapted to: (A) generate an illumination signal based on an output of said image sensor; (B) establish an initial exposure control variable, said exposure control variable determining a duration of said exposure period; (C) detect said illumination signal; (D) increase said exposure control variable if said illumination signal is below a value indicative of said exposure control variable being at a desire value; and (E) decrease said exposure control variable if said illumination signal is above a value indicative of said exposure control variable being at a desired value.
 32. The optical reader of claim 31, wherein said optical reader in increasing said exposure control variable increases said exposure control variable to a next adjacent value of said step pattern of exposure control variable values.
 33. The optical reader of claim 31, wherein said optical reader in decreasing said exposure control variable decreases said exposure control variable to a next adjacent step value of said step pattern of exposure control variable values.
 34. The optical reader of claim 31, wherein said reader in detecting said illumination signal detects whether said illumination signal is within a window bounded by minimum and maximum illumination signal values.
 35. The optical reader of claim 34, wherein said reader in detecting whether said illumination signal is within said window detects a single time during a scan period of said reader whether said illumination signal is inside or outside said window.
 36. The optical reader of claim 34, wherein said reader in detecting whether said illumination signal is within said window detects a plurality of times during a scan period of said reader whether said illumination signal is inside or outside said window.
 37. The optical reader of claim 31, wherein said reader in increasing said exposure control variable increases said exposure control variable by a predetermined increment.
 38. The optical reader of claim 31, wherein said reader in decreasing said exposure control variable decreases said exposure control variable by a predetermined increment.
 39. The optical reader of claim 31, wherein said reader in increasing said exposure control variable multiplies or divides said exposure control value by a constant.
 40. The optical reader of claim 31, wherein said reader in decreasing said exposure control variable multiplies or divides said exposure control value by a constant.
 41. The optical reader of claim 34, wherein said window comprises first and second component maximum illumination values that define separate window exit and re-entry thresholds.
 42. The optical reader of claim 31, wherein said reader includes an exposure control menu, and wherein said reader in establishing said initial exposure control variable establishes said initial exposure control variable in response to user-initiated control input into said reader is response to a request presented by said exposure control menu, wherein said user-initiated control comprises one of a daylight exposure control variable setting and an indoors exposure control variable setting.
 43. The optical reader of claim 31, wherein said reader in generating said illumination signal generates an illumination signal that varies in accordance with a time average value of an image sensor signal output by said image sensor. 